package com.learn.tx.xml;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 《Spring源码深度解析》第10章 事务
 *  数据操作接口
 */
@Transactional(propagation = Propagation.REQUIRED)
public interface UserService {
	/**
	 * 插入
	 * @param user    用户信息
	 */
    void save(User user) throws Exception;

	/**
	 * 根据 id 进行删除
	 * @param id    主键
	 */
	void deleteById(Integer id);

	/**
	 * 查询
	 * @return    全部
	 */
	List<User> selectAll();
}
